package webPages;

import java.util.List;
import java.util.TreeSet;

import modelo.Planificacion;

import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.PropertyListView;
import org.apache.wicket.model.CompoundPropertyModel;
import org.joda.time.LocalDate;

import utils.LocalDateTextField;
import utils.TransformerBoolToSiNoString;
import applicationModels.ListadoExcepciones;
import applicationModels.ListadoPlanificaciones;
import applicationModels.TuplaEmpleadoExcepcion;
import database.Tienda;

public class ListadoPlanificacionesPage extends BasePage {

	private static final long serialVersionUID = 1L;
	private ListadoPlanificaciones planificaciones;
	
	public ListadoPlanificacionesPage(){
		this.planificaciones = new ListadoPlanificaciones();
		Form<ListadoPlanificaciones> planificacionesForm = new Form<ListadoPlanificaciones>("listadoPlanificacionesForm", new CompoundPropertyModel<ListadoPlanificaciones>(planificaciones));
		agregarGrillaResultados(planificacionesForm);
		agregarFechaCracion(planificacionesForm);
		add(planificacionesForm);
		planificaciones.setFechaCrear(new LocalDate());	
		mostrarPlanificaciones();
		
	}

	private void mostrarPlanificaciones() {
		planificaciones.refreshPlanificaciones();
	}
	
	private void agregarFechaCracion(Form<ListadoPlanificaciones> form) {
		form.add(new LocalDateTextField("fechaCrear",form.getModelObject(),"fechaCrear"));
	}

	private void agregarGrillaResultados(
			Form<ListadoPlanificaciones> planificacionesForm) {
		    planificacionesForm.add(new PropertyListView<Planificacion>("planificaciones") {
			private static final long serialVersionUID = 1L;

			@Override
			protected void populateItem(final ListItem<Planificacion> item) {
				item.add(new Label("fecha"));
				item.add(new Label("esta planificada", "Planificada"));
				item.add(new Button("eliminar") {
					private static final long serialVersionUID = 1L;

					@Override
					public void onSubmit() {
						ListadoPlanificacionesPage.this.planificaciones.setPlanificacionSeleccionada(item.getModelObject());
						ListadoPlanificacionesPage.this.planificaciones.eliminarPlanificacionSeleccionada();
					}
				});
			}
		});
		
	}

}
